package v8

// RawExpr 代表一个原生表达式 完全不进行任何校验和任何处理
type RawExpr struct {
	raw  string
	args []interface{}
}

func (r RawExpr) Select() {}

func (r RawExpr) Expr() {}

// AsPredicate 将 RawExpr 转化成 Predicate 这样 where 中就可以写 RawExpr了
func (r RawExpr) AsPredicate() Predicate {
	return Predicate{
		left: r,
	}
}

// Raw 创建一个 RawExpr
func Raw(expr string, args ...interface{}) RawExpr {
	return RawExpr{
		raw:  expr,
		args: args,
	}
}
